package cn.itsource.hrm.mq.rabbitmq.handler;

import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class MsgHandler {
    //定义邮件的队列名字
    public static final String QUEUE_NAME_EMAIL = "queue_name_email_msg";
    //定义短信的队列名字
    public static final String QUEUE_NAME_SMS = "queue_name_sms_msg";
    //站内信队列
    public static final String QUEUE_NAME_SYSTEM_MESSAGE = "queue_name_system_message_msg";

    @RabbitListener(queues = QUEUE_NAME_EMAIL) //获取邮件
    public void emailHandler(String courseName, Message msg , Channel channel){
        //1.准备要发送的消息
        String message = "亲爱的用户，我们课程【"+courseName+"】课程已经上线，请查收。www.itsource.cn【源码时代】";
        //2.去用户(门户网站用户)表查询用户的邮箱：待定
        //3.发送邮件
        System.out.println("邮件发送："+message);
    }
    @RabbitListener(queues = QUEUE_NAME_SMS) //手机
    public void smsHandler(String courseName, Message msg , Channel channel){
        //1.准备要发送的消息 用户从推荐系统获取
        String message = "亲爱的用户，我们课程【"+courseName+"】课程已经上线，请查收。www.itsource.cn【源码时代】";
        //2.去用户(门户网站用户)表查询用户的手机号：待定
        //3.发送邮件
        System.out.println("短信发送："+message);
    }
    @RabbitListener(queues = QUEUE_NAME_SYSTEM_MESSAGE) //账号
    public void systemHandler(String courseName, Message msg , Channel channel){
        //1.准备要发送的消息
        String message = "亲爱的用户，我们课程【"+courseName+"】课程已经上线，请查收。www.itsource.cn【源码时代】";
        //2.获取到用户的ID：
        //消息表：  id, 内容 ，用户ID ，已读/未读 ， 链接
        //          1           1       0         www.xxx.xxx.com
        //3.往用户的站内信表保存内容
        System.out.println("站内信发送："+message);
    }
}
